home *** CD-ROM | disk | FTP | other *** search
- // ===============================================================
- // Vertex Program:
- // Description:
- // Last Update: 14/08/2003
- // Coder: Andrey Honich
- // ===============================================================
-
- #include "../CGVPMacro.csi"
-
- VertAttributes { POSITION_3 TEXCOORD0_2 }
-
- VS20Only
-
- NoFog
- Param4f (Name = Bend Comp 'ObjWaveX' Comp 'ObjWaveY' Comp 'Bending' Comp = 1)
- MainInput { VIEWPROJ_MATRIX, uniform float4x4 TexGen0, uniform float4x4 TexGen1, uniform float4x4 TexGen2, uniform float4x4 TexGen3, BEND, TEX_MATRIX2x4, uniform float2x4 ShadowModelMatr0, uniform float2x4 ShadowModelMatr1, uniform float2x4 ShadowModelMatr2, uniform float2x4 ShadowModelMatr3, uniform float ShadowBias }
- DeclarationsScript
- {
- IN_T0
- OUT_T0_T1_T2_T3_T4_T5_T6
- }
- PositionScript = PosBending
- CoreScript
- {
- OUT.Tex0 = mul(TexGen0, vPos);
- OUT.Tex1 = mul(TexGen1, vPos);
- OUT.Tex2 = mul(TexGen2, vPos);
- OUT.Tex3 = mul(TexGen3, vPos);
- OUT.Tex4.xy = mul(TexMatrix, IN.TexCoord0);
-
- float fZ = dot(ShadowModelMatr0._11_12_13_14, vPos);
- float fW = dot(ShadowModelMatr0._21_22_23_24, vPos);
- OUT.Tex5.x = fZ;
- OUT.Tex5.y = fW;
-
- fZ = dot(ShadowModelMatr1._11_12_13_14, vPos);
- fW = dot(ShadowModelMatr1._21_22_23_24, vPos);
- OUT.Tex5.z = fZ;
- OUT.Tex5.w = fW;
-
- fZ = dot(ShadowModelMatr2._11_12_13_14, vPos);
- fW = dot(ShadowModelMatr2._21_22_23_24, vPos);
- OUT.Tex6.x = fZ;
- OUT.Tex6.y = fW;
-
- fZ = dot(ShadowModelMatr3._11_12_13_14, vPos);
- fW = dot(ShadowModelMatr3._21_22_23_24, vPos);
- OUT.Tex6.z = fZ;
- OUT.Tex6.w = fW;
- }
-